home *** CD-ROM | disk | FTP | other *** search
- /*
- * Library imakefile info - this contains any special redefinitions, etc.
- * that Imakefiles in the various library subtrees will need.
- *
- * Before including this, you must set the following boolean variables:
- * DoNormalLib, DoSharedLib, DoDebugLib, DoProfileLib
- */
-
- XCOMM $XConsortium: Library.tmpl,v 1.11 91/07/27 13:10:13 rws Exp $
-
- #ifndef LibraryCcCmd
- #if DoSharedLib && defined(SharedLibraryCcCmd)
- #define LibraryCcCmd SharedLibraryCcCmd
- #else
- #define LibraryCcCmd CcCmd
- #endif
- #endif
- #ifndef LibraryCCOptions
- #if DoSharedLib && defined(SharedLibraryCCOptions)
- #define LibraryCCOptions SharedLibraryCCOptions
- #else
- #define LibraryCCOptions DefaultCCOptions
- #endif
- #endif
- #ifndef LibraryDefines
- #define LibraryDefines StandardDefines
- #endif
- #ifndef LibraryCDebugFlags
- #ifdef sprite
- #define LibraryCDebugFlags OptimizedCDebugFlags DebuggableCDebugFlags
- #else
- #define LibraryCDebugFlags OptimizedCDebugFlags
- #endif
- #endif
- #ifndef AvoidNullMakeCommand
- #define AvoidNullMakeCommand NO
- #endif
- #if AvoidNullMakeCommand
- _NULLCMD_ = @ echo -n
- #endif
-
- CC = LibraryCcCmd
- CCOPTIONS = LibraryCCOptions
- STD_DEFINES = LibraryDefines
- CDEBUGFLAGS = LibraryCDebugFlags
-
- #if DoDebugLib
- #define _DebuggedLibMkdir() LibMkdir(debugger)
- #define _DebuggedObjCompile(options) DebuggedLibObjCompile(options)
- #define _DebuggedCleanDir() LibCleanDir(debugger)
- #else
- #define _DebuggedLibMkdir() $(_NULLCMD_)
- #define _DebuggedObjCompile(options) $(_NULLCMD_)
- #define _DebuggedCleanDir() $(_NULLCMD_)
- #endif
-
- #if DoProfileLib
- #define _ProfiledLibMkdir() LibMkdir(profiled)
- #define _ProfiledObjCompile(options) ProfiledLibObjCompile(options)
- #define _ProfiledCleanDir() LibCleanDir(profiled)
- #else
- #define _ProfiledLibMkdir() $(_NULLCMD_)
- #define _ProfiledObjCompile(options) $(_NULLCMD_)
- #define _ProfiledCleanDir() $(_NULLCMD_)
- #endif
-
- #if DoSharedLib && DoNormalLib
- #define _SharedLibMkdir() LibMkdir(shared)
- #define _SharedObjCompile(options) SharedLibObjCompile(options)
- #define _SharedCleanDir() LibCleanDir(shared)
- #else
- #define _SharedLibMkdir() $(_NULLCMD_)
- #define _SharedObjCompile(options) $(_NULLCMD_)
- #define _SharedCleanDir() $(_NULLCMD_)
- #endif
-
- #if DoSharedLib && !DoNormalLib
- #define _NormalObjCompile(options) NormalSharedLibObjCompile(options)
- #else
- #define _NormalObjCompile(options) NormalLibObjCompile(options)
- #endif
-
- #ifndef LibraryObjectRule
- #define LibraryObjectRule() @@\
- all:: @@\
- _DebuggedLibMkdir() @@\
- _ProfiledLibMkdir() @@\
- _SharedLibMkdir() @@\
- @@\
- .c.o: @@\
- _DebuggedObjCompile($(_NOOP_)) @@\
- _ProfiledObjCompile($(_NOOP_)) @@\
- _SharedObjCompile($(_NOOP_)) @@\
- _NormalObjCompile($(_NOOP_)) @@\
- @@\
- clean:: @@\
- _DebuggedCleanDir() @@\
- _ProfiledCleanDir() @@\
- _SharedCleanDir() @@\
-
- #endif /* LibraryObjectRule */
-
- #ifndef SpecialLibObjectRule
- #define SpecialLibObjectRule(objs,depends,options) @@\
- objs: depends @@\
- _DebuggedObjCompile(options) @@\
- _ProfiledObjCompile(options) @@\
- _SharedObjCompile(options) @@\
- _NormalObjCompile(options) @@\
-
- #endif /* SpecialLibObjectRule */
-